Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

153
Views
Detectar cuando un documento está "totalmente activo"

Al leer las especificaciones de varias API de JavaScript, es posible que se encuentre con el requisito de que el documento esté "totalmente activo" antes de poder utilizarlas. Aquí hay una definición de lo que eso significa de las especificaciones: https://html.spec.whatwg.org/multipage/browsers.html#fully-active

Lo que no está claro es cómo saber si el documento está completamente activo o no. Como ejemplo, la API de WakeLock requiere que el documento esté completamente activo. Si el documento no está completamente activo, llamar a "WakeLock.request()" rechazará la promesa devuelta con un objeto de error "NotAllowedError". Sin embargo, hay otras razones por las que podría devolver un "Error no permitido" y no especifica el motivo en un caso determinado.

Entonces, ¿cómo puedo determinar de manera proactiva si un documento está completamente activo antes de intentar usar las API que lo requieren?

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Hay una sección de la página: https://html.spec.whatwg.org/multipage/browsers.html#active-document

Se dice que un documento d está completamente activo cuando el contexto de exploración de d no es nulo, el documento activo del contexto de exploración de d es d y el contexto de exploración de d es un contexto de exploración de nivel superior o el documento contenedor del contexto de exploración de d está completamente activo.

Mirando a tu pregunta:

Entonces, ¿cómo puedo determinar de manera proactiva si un documento está completamente activo antes de intentar usar las API que lo requieren?

ampliemos las reglas:

  • el contexto de navegación de d no es nulo
  • El documento activo del contexto de navegación de d es d
  • el contexto de navegación de d es un contexto de navegación de nivel superior o el documento contenedor del contexto de navegación de d está completamente activo

Creo que eso se puede traducir a ese código javascript, pero no estoy 100% seguro de eso:

 function isFullyActive(s /* self */) { return s.window !== null && s.document === s.window.document && (s.window.top === s.window || isFullyActive(s.window.parent)); } // you can use in this way on a top level javascript: isFullyActive(self)

No encontré ninguna API/especificación que diga sobre un evento o método para verificar si un documento está completamente activo.

Referencias:

  • Contexto del navegador: ¿Cómo acceder al "contexto de navegación" en JavaScript?
  • Contexto de navegación anidado: https://www.w3.org/TR/2011/WD-html5-20110525/browsers.html#nested-browsing-context
  • Definición de completamente activo cambiado: https://github.com/whatwg/html/issues/388
  • ventana.parent: https://developer.mozilla.org/en-US/docs/Web/API/Window/parent
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!